class Champ_103:
    def __init__(self):
        self.ID=103
        self.Name="Ahri"
        self.Title="The 9 Tails Fox"
        self.Icon="103.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=230
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=11
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.5
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.25
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Orb of Deception"
        self.Skill_Q_Icon="103-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Fox-Fire"
        self.Skill_W_Icon="103-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Charm"
        self.Skill_E_Icon="103-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Spirit Rush"
        self.Skill_R_Icon="103-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Essence Theft"
        self.Skill_P_Icon="103-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_84:
    def __init__(self):
        self.ID=84
        self.Name="Akali"
        self.Title="The Fist of Shadow"
        self.Icon="84.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=445
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=16.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=50
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Mark of the Assassin"
        self.Skill_Q_Icon="84-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Twilight Shroud"
        self.Skill_W_Icon="84-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Crescent Slash"
        self.Skill_E_Icon="84-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Shadow Dance"
        self.Skill_R_Icon="84-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Twin Disciplines"
        self.Skill_P_Icon="84-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_12:
    def __init__(self):
        self.ID=12
        self.Name="Alistar"
        self.Title="The Minotaur"
        self.Icon="12.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.03
        self.BaseAttack_Damage_delta=3.62
        self.Attack_Damage=0.0
        self.BaseHealth=442
        self.BaseHealth_delta = 102
        self.Health=0
        self.BaseMana=215
        self.BaseMana_delta = 38
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=14.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Pulverize"
        self.Skill_Q_Icon="12-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Headbutt"
        self.Skill_W_Icon="12-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Triumphant Roar"
        self.Skill_E_Icon="12-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Unbreakable Will"
        self.Skill_R_Icon="12-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Trample"
        self.Skill_P_Icon="12-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_32:
    def __init__(self):
        self.ID=32
        self.Name="Amumu"
        self.Title="The Sad Mummy"
        self.Icon="32.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=47
        self.BaseAttack_Damage_delta=3.8
        self.Attack_Damage=0.0
        self.BaseHealth=472
        self.BaseHealth_delta = 84
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 3.3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.525
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Bandage Toss"
        self.Skill_Q_Icon="32-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Despair"
        self.Skill_W_Icon="32-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Tantrum"
        self.Skill_E_Icon="32-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Curse of the Sad Mummy"
        self.Skill_R_Icon="32-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Cursed Touch"
        self.Skill_P_Icon="32-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_34:
    def __init__(self):
        self.ID=34
        self.Name="Anivia"
        self.Title="The Cryophoenix"
        self.Icon="34.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=350
        self.BaseHealth_delta = 70
        self.Health=0
        self.BaseMana=257
        self.BaseMana_delta = 53
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=10.5
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.65
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Flash Frost"
        self.Skill_Q_Icon="34-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Crystallize"
        self.Skill_W_Icon="34-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Frostbite"
        self.Skill_E_Icon="34-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Glacial Storm"
        self.Skill_R_Icon="34-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Rebirth"
        self.Skill_P_Icon="34-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_1:
    def __init__(self):
        self.ID=1
        self.Name="Annie"
        self.Title="The Dark Child"
        self.Icon="1.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48
        self.BaseAttack_Damage_delta=2.625
        self.Attack_Damage=0.0
        self.BaseHealth=384
        self.BaseHealth_delta = 76
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=8.5
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Disintegrate"
        self.Skill_Q_Icon="1-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Incinerate"
        self.Skill_W_Icon="1-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Molten Shield"
        self.Skill_E_Icon="1-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Summon: Tibbers"
        self.Skill_R_Icon="1-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Pyromania"
        self.Skill_P_Icon="1-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_22:
    def __init__(self):
        self.ID=22
        self.Name="Ashe"
        self.Title="The Frost Archer"
        self.Icon="22.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=46.3
        self.BaseAttack_Damage_delta=2.85
        self.Attack_Damage=0.0
        self.BaseHealth=395
        self.BaseHealth_delta = 79
        self.Health=0
        self.BaseMana=173
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=11.5
        self.BaseArmor_delta = 3.4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.3
        self.BaseMana_Regen_delta = 0.4
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Frost Shot"
        self.Skill_Q_Icon="22-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Volley"
        self.Skill_W_Icon="22-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Hawkshot"
        self.Skill_E_Icon="22-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Enchanted Crystal Arrow"
        self.Skill_R_Icon="22-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Focus"
        self.Skill_P_Icon="22-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_53:
    def __init__(self):
        self.ID=53
        self.Name="Blitzcrank"
        self.Title="The Great Steam Golem"
        self.Icon="53.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.66
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=468
        self.BaseHealth_delta = 100
        self.Health=0
        self.BaseMana=260
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=14.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.6
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Rocket Grab"
        self.Skill_Q_Icon="53-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Overdrive"
        self.Skill_W_Icon="53-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Power Fist"
        self.Skill_E_Icon="53-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Static Field"
        self.Skill_R_Icon="53-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Mana Barrier"
        self.Skill_P_Icon="53-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_63:
    def __init__(self):
        self.ID=63
        self.Name="Brand"
        self.Title="The Burning Vengeance"
        self.Icon="63.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.66
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 76
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Sear"
        self.Skill_Q_Icon="63-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Pillar of Flame"
        self.Skill_W_Icon="63-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Conflagration"
        self.Skill_E_Icon="63-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Pyroclasm"
        self.Skill_R_Icon="63-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Blaze"
        self.Skill_P_Icon="63-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_51:
    def __init__(self):
        self.ID=51
        self.Name="Caitlyn"
        self.Title="The Sheriff of Piltover"
        self.Icon="51.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=47
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=390
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=255
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=13
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.75
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.55
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Piltover Peacemaker"
        self.Skill_Q_Icon="51-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Yordle Snap Trap"
        self.Skill_W_Icon="51-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="90 Caliber Net"
        self.Skill_E_Icon="51-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Ace in the Hole"
        self.Skill_R_Icon="51-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Headshot"
        self.Skill_P_Icon="51-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_69:
    def __init__(self):
        self.ID=69
        self.Name="Cassiopeia"
        self.Title="The Serpent's Embrace"
        self.Icon="69.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=47
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 75
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=11.5
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.85
        self.BaseHealth_Regen_delta = 0.5
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7.1
        self.BaseMana_Regen_delta = 0.75
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Noxious Blast"
        self.Skill_Q_Icon="69-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Miasma"
        self.Skill_W_Icon="69-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Twin Fang"
        self.Skill_E_Icon="69-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Petrifying Gaze"
        self.Skill_R_Icon="69-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Deadly Cadence"
        self.Skill_P_Icon="69-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_31:
    def __init__(self):
        self.ID=31
        self.Name="Cho'Gath"
        self.Title="The Terror of the Void"
        self.Icon="31.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.1
        self.BaseAttack_Damage_delta=4.2
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=205
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=19
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.5
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Rupture"
        self.Skill_Q_Icon="31-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Feral Scream"
        self.Skill_W_Icon="31-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Vorpal Spikes"
        self.Skill_E_Icon="31-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Feast"
        self.Skill_R_Icon="31-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Carnivore"
        self.Skill_P_Icon="31-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_42:
    def __init__(self):
        self.ID=42
        self.Name="Corki"
        self.Title="The Daring Bombardier"
        self.Icon="42.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48.2
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=375
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=243
        self.BaseMana_delta = 37
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=13.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.55
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Phosphorus Bomb"
        self.Skill_Q_Icon="42-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Valkyrie"
        self.Skill_W_Icon="42-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Gatling Gun"
        self.Skill_E_Icon="42-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Missile Barrage"
        self.Skill_R_Icon="42-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Hextech Shrapnel Shells"
        self.Skill_P_Icon="42-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_122:
    def __init__(self):
        self.ID=122
        self.Name="Darius"
        self.Title="The Hand of Noxus"
        self.Icon="122.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=426
        self.BaseHealth_delta = 93
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 37.5
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=20
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=8.25
        self.BaseHealth_Regen_delta = 0.95
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6
        self.BaseMana_Regen_delta = 0.35
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Decimate"
        self.Skill_Q_Icon="122-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Crippling Strike"
        self.Skill_W_Icon="122-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Apprehend"
        self.Skill_E_Icon="122-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Noxian Guillotine"
        self.Skill_R_Icon="122-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Hemorrhage"
        self.Skill_P_Icon="122-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_36:
    def __init__(self):
        self.ID=36
        self.Name="Dr. Mundo"
        self.Title="The Madman of Zaun"
        self.Icon="36.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.23
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=433
        self.BaseHealth_delta = 89
        self.Health=0
        self.BaseMana=0
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.5
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Infected Cleaver"
        self.Skill_Q_Icon="36-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Burning Agony"
        self.Skill_W_Icon="36-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Masochism"
        self.Skill_E_Icon="36-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Sadism"
        self.Skill_R_Icon="36-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Adrenaline Rush"
        self.Skill_P_Icon="36-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_28:
    def __init__(self):
        self.ID=28
        self.Name="Evelynn"
        self.Title="The Widowmaker"
        self.Icon="28.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=414
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=180
        self.BaseMana_delta = 42
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=12.5
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.95
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7.1
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Hate Spike"
        self.Skill_Q_Icon="28-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Shadow Walk"
        self.Skill_W_Icon="28-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Ravage"
        self.Skill_E_Icon="28-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Malice and Spite"
        self.Skill_R_Icon="28-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Determined Killer"
        self.Skill_P_Icon="28-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_81:
    def __init__(self):
        self.ID=81
        self.Name="Ezreal"
        self.Title="The Prodigal Explorer"
        self.Icon="81.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=47.2
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=350
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=235
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Mystic Shot"
        self.Skill_Q_Icon="81-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Essence Flux"
        self.Skill_W_Icon="81-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Arcane Shift"
        self.Skill_E_Icon="81-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Trueshot Barrage"
        self.Skill_R_Icon="81-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Rising Spell Force"
        self.Skill_P_Icon="81-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_9:
    def __init__(self):
        self.ID=9
        self.Name="Fiddlesticks"
        self.Title="The Harbinger of Doom"
        self.Icon="9.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=45.95
        self.BaseAttack_Damage_delta=2.625
        self.Attack_Damage=0.0
        self.BaseHealth=390
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=251
        self.BaseMana_delta = 59
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=11
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.6
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Terrify"
        self.Skill_Q_Icon="9-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Drain"
        self.Skill_W_Icon="9-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Dark Wind"
        self.Skill_E_Icon="9-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Crowstorm"
        self.Skill_R_Icon="9-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Dread"
        self.Skill_P_Icon="9-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_114:
    def __init__(self):
        self.ID=114
        self.Name="Fiora"
        self.Title="The Grand Duelist"
        self.Icon="114.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.5
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=450
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.5
        self.BaseHealth_Regen_delta = 0.8
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.75
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Lunge"
        self.Skill_Q_Icon="114-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Riposte"
        self.Skill_W_Icon="114-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Burst of Speed"
        self.Skill_E_Icon="114-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Blade Waltz"
        self.Skill_R_Icon="114-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Duelist"
        self.Skill_P_Icon="114-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_105:
    def __init__(self):
        self.ID=105
        self.Name="Fizz"
        self.Title="The Tidal Trickster"
        self.Icon="105.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=414
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=12.7
        self.BaseArmor_delta = 3.4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.7
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.1
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Urchin Strike"
        self.Skill_Q_Icon="105-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Seastone Trident"
        self.Skill_W_Icon="105-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Playful / Trickster"
        self.Skill_E_Icon="105-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Chum the Waters"
        self.Skill_R_Icon="105-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Nimble Fighter"
        self.Skill_P_Icon="105-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_3:
    def __init__(self):
        self.ID=3
        self.Name="Galio"
        self.Title="The Sentinel's Sorrow"
        self.Icon="3.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.3
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=435
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=235
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Resolute Smite"
        self.Skill_Q_Icon="3-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Bulwark"
        self.Skill_W_Icon="3-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Righteous Gust"
        self.Skill_E_Icon="3-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Idol of Durand"
        self.Skill_R_Icon="3-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Runic Skin"
        self.Skill_P_Icon="3-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_41:
    def __init__(self):
        self.ID=41
        self.Name="Gangplank"
        self.Title="The Saltwater Scourge"
        self.Icon="41.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=495
        self.BaseHealth_delta = 81
        self.Health=0
        self.BaseMana=215
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=16.5
        self.BaseArmor_delta = 3.3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.25
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Parrrley"
        self.Skill_Q_Icon="41-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Remove Scurvy"
        self.Skill_W_Icon="41-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Raise Morale"
        self.Skill_E_Icon="41-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Cannon Barrage"
        self.Skill_R_Icon="41-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Grog-Soaked Blade"
        self.Skill_P_Icon="41-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_86:
    def __init__(self):
        self.ID=86
        self.Name="Garen"
        self.Title="The Might of Demacia"
        self.Icon="86.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=57.66
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=455
        self.BaseHealth_delta = 96
        self.Health=0
        self.BaseMana=0
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=19
        self.BaseArmor_delta = 2.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=9
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Decisive Strike"
        self.Skill_Q_Icon="86-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Courage"
        self.Skill_W_Icon="86-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Judgment"
        self.Skill_E_Icon="86-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Demacian Justice"
        self.Skill_R_Icon="86-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Perseverance"
        self.Skill_P_Icon="86-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_79:
    def __init__(self):
        self.ID=79
        self.Name="Gragas"
        self.Title="The Rabble Rouser"
        self.Icon="79.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.78
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=404
        self.BaseHealth_delta = 89
        self.Health=0
        self.BaseMana=221
        self.BaseMana_delta = 47
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=16
        self.BaseArmor_delta = 2.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Barrel Roll"
        self.Skill_Q_Icon="79-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Drunken Rage"
        self.Skill_W_Icon="79-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Body Slam"
        self.Skill_E_Icon="79-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Explosive Cask"
        self.Skill_R_Icon="79-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Happy Hour"
        self.Skill_P_Icon="79-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_104:
    def __init__(self):
        self.ID=104
        self.Name="Graves"
        self.Title="The Outlaw"
        self.Icon="104.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=410
        self.BaseHealth_delta = 84
        self.Health=0
        self.BaseMana=255
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.2
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.5
        self.BaseHealth_Regen_delta = 0.7
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.75
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Buckshot"
        self.Skill_Q_Icon="104-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Smoke Screen"
        self.Skill_W_Icon="104-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Quickdraw"
        self.Skill_E_Icon="104-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Collateral Damage"
        self.Skill_R_Icon="104-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="True Grit"
        self.Skill_P_Icon="104-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_120:
    def __init__(self):
        self.ID=120
        self.Name="Hecarim"
        self.Title="The Shadow of War"
        self.Icon="120.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 95
        self.Health=0
        self.BaseMana=210
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=16
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=8
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Rampage"
        self.Skill_Q_Icon="120-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Spirit of Dread"
        self.Skill_W_Icon="120-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Devastating Charge"
        self.Skill_E_Icon="120-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Onslaught of Shadows"
        self.Skill_R_Icon="120-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Warpath"
        self.Skill_P_Icon="120-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_74:
    def __init__(self):
        self.ID=74
        self.Name="Heimerdinger"
        self.Title="The Revered Inventor"
        self.Icon="74.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=49.24
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=350
        self.BaseHealth_delta = 75
        self.Health=0
        self.BaseMana=240
        self.BaseMana_delta = 65
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=7
        self.BaseArmor_delta = 3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="H-28G Evolution Turret"
        self.Skill_Q_Icon="74-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Hextech Micro-Rockets"
        self.Skill_W_Icon="74-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="CH-1 Concussion Grenade"
        self.Skill_E_Icon="74-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="UPGRADE!!!"
        self.Skill_R_Icon="74-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Techmaturgical Repair Bots"
        self.Skill_P_Icon="74-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_39:
    def __init__(self):
        self.ID=39
        self.Name="Irelia"
        self.Title="The Will of the Blades"
        self.Icon="39.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=456
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=230
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.75
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.5
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Bladesurge"
        self.Skill_Q_Icon="39-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Hiten Style"
        self.Skill_W_Icon="39-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Equilibrium Strike"
        self.Skill_E_Icon="39-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Transcendent Blades"
        self.Skill_R_Icon="39-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Ionian Fervor"
        self.Skill_P_Icon="39-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_40:
    def __init__(self):
        self.ID=40
        self.Name="Janna"
        self.Title="The Storm's Fury"
        self.Icon="40.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=49
        self.BaseAttack_Damage_delta=2.95
        self.Attack_Damage=0.0
        self.BaseHealth=356
        self.BaseHealth_delta = 78
        self.Health=0
        self.BaseMana=302
        self.BaseMana_delta = 64
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=9
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Howling Gale"
        self.Skill_Q_Icon="40-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Zephyr"
        self.Skill_W_Icon="40-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Eye Of The Storm"
        self.Skill_E_Icon="40-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Monsoon"
        self.Skill_R_Icon="40-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Tailwind"
        self.Skill_P_Icon="40-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_59:
    def __init__(self):
        self.ID=59
        self.Name="Jarvan IV"
        self.Title="The Exemplar of Demacia"
        self.Icon="59.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.4
        self.Attack_Damage=0.0
        self.BaseHealth=420
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=235
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=14
        self.BaseArmor_delta = 3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.7
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Dragon Strike"
        self.Skill_Q_Icon="59-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Golden Aegis"
        self.Skill_W_Icon="59-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Demacian Standard"
        self.Skill_E_Icon="59-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Cataclysm"
        self.Skill_R_Icon="59-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Martial Cadence"
        self.Skill_P_Icon="59-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_24:
    def __init__(self):
        self.ID=24
        self.Name="Jax"
        self.Title="Grandmaster at Arms"
        self.Icon="24.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.3
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=463
        self.BaseHealth_delta = 98
        self.Health=0
        self.BaseMana=230
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.4
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Leap Strike"
        self.Skill_Q_Icon="24-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Empower"
        self.Skill_W_Icon="24-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Counter Strike"
        self.Skill_E_Icon="24-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Grandmaster's Might"
        self.Skill_R_Icon="24-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Relentless Assault"
        self.Skill_P_Icon="24-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_43:
    def __init__(self):
        self.ID=43
        self.Name="Karma"
        self.Title="The Enlightened One"
        self.Icon="43.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=410
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=240
        self.BaseMana_delta = 60
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.7
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.8
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Heavenly Wave"
        self.Skill_Q_Icon="43-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Spirit Bond"
        self.Skill_W_Icon="43-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Soul Shield"
        self.Skill_E_Icon="43-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Mantra"
        self.Skill_R_Icon="43-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Inner Flame"
        self.Skill_P_Icon="43-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_30:
    def __init__(self):
        self.ID=30
        self.Name="Karthus"
        self.Title="The Deathsinger"
        self.Icon="30.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=42.2
        self.BaseAttack_Damage_delta=3.25
        self.Attack_Damage=0.0
        self.BaseHealth=390
        self.BaseHealth_delta = 75
        self.Health=0
        self.BaseMana=270
        self.BaseMana_delta = 61
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=11
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Lay Waste"
        self.Skill_Q_Icon="30-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Wall of Pain"
        self.Skill_W_Icon="30-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Defile"
        self.Skill_E_Icon="30-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Requiem"
        self.Skill_R_Icon="30-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Death Defied"
        self.Skill_P_Icon="30-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_38:
    def __init__(self):
        self.ID=38
        self.Name="Kassadin"
        self.Title="The Void Walker"
        self.Icon="38.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=52.3
        self.BaseAttack_Damage_delta=3.9
        self.Attack_Damage=0.0
        self.BaseHealth=433
        self.BaseHealth_delta = 78
        self.Health=0
        self.BaseMana=230
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=14
        self.BaseArmor_delta = 3.2
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.95
        self.BaseHealth_Regen_delta = 0.5
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Null Sphere"
        self.Skill_Q_Icon="38-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Nether Blade"
        self.Skill_W_Icon="38-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Force Pulse"
        self.Skill_E_Icon="38-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Riftwalk"
        self.Skill_R_Icon="38-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Void Stone"
        self.Skill_P_Icon="38-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_55:
    def __init__(self):
        self.ID=55
        self.Name="Katarina"
        self.Title="The Sinister Blade"
        self.Icon="55.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=395
        self.BaseHealth_delta = 83
        self.Health=0
        self.BaseMana=0
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=14.75
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.95
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Bouncing Blade"
        self.Skill_Q_Icon="55-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Killer Instincts"
        self.Skill_W_Icon="55-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Shunpo"
        self.Skill_E_Icon="55-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Death Lotus"
        self.Skill_R_Icon="55-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Voracity"
        self.Skill_P_Icon="55-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_10:
    def __init__(self):
        self.ID=10
        self.Name="Kayle"
        self.Title="The Judicator"
        self.Icon="10.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53.3
        self.BaseAttack_Damage_delta=2.8
        self.Attack_Damage=0.0
        self.BaseHealth=418
        self.BaseHealth_delta = 93
        self.Health=0
        self.BaseMana=255
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0.75
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.525
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Reckoning"
        self.Skill_Q_Icon="10-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Divine Blessing"
        self.Skill_W_Icon="10-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Righteous Fury"
        self.Skill_E_Icon="10-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Intervention"
        self.Skill_R_Icon="10-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Holy Fervor"
        self.Skill_P_Icon="10-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_85:
    def __init__(self):
        self.ID=85
        self.Name="Kennen"
        self.Title="The Heart of the Tempest"
        self.Icon="85.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.3
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=403
        self.BaseHealth_delta = 79
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=14
        self.BaseArmor_delta = 3.75
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.65
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=50
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Thundering Shuriken"
        self.Skill_Q_Icon="85-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Electrical Surge"
        self.Skill_W_Icon="85-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Lightning Rush"
        self.Skill_E_Icon="85-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Slicing Maelstrom"
        self.Skill_R_Icon="85-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Mark of the Storm"
        self.Skill_P_Icon="85-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_96:
    def __init__(self):
        self.ID=96
        self.Name="Kog'Maw"
        self.Title="The Mouth of the Abyss"
        self.Icon="96.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=46
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 84
        self.Health=0
        self.BaseMana=255
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=10
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7.5
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Caustic Spittle"
        self.Skill_Q_Icon="96-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Bio-Arcane Barrage"
        self.Skill_W_Icon="96-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Void Ooze"
        self.Skill_E_Icon="96-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Living Artillery"
        self.Skill_R_Icon="96-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Icathian Surprise"
        self.Skill_P_Icon="96-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_7:
    def __init__(self):
        self.ID=7
        self.Name="LeBlanc"
        self.Title="The Deceiver"
        self.Icon="7.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=390
        self.BaseHealth_delta = 75
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Sigil of Silence"
        self.Skill_Q_Icon="7-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Distortion"
        self.Skill_W_Icon="7-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Ethereal Chains"
        self.Skill_E_Icon="7-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Mimic"
        self.Skill_R_Icon="7-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Mirror Image"
        self.Skill_P_Icon="7-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_64:
    def __init__(self):
        self.ID=64
        self.Name="Lee Sin"
        self.Title="The Blind Monk"
        self.Icon="64.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.8
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=428
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=16
        self.BaseArmor_delta = 3.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.25
        self.BaseHealth_Regen_delta = 0.7
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=50
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Sonic Wave / Resonating Strike"
        self.Skill_Q_Icon="64-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Safeguard / Iron Will"
        self.Skill_W_Icon="64-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Tempest / Cripple"
        self.Skill_E_Icon="64-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Dragon's Rage"
        self.Skill_R_Icon="64-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Flurry"
        self.Skill_P_Icon="64-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_89:
    def __init__(self):
        self.ID=89
        self.Name="Leona"
        self.Title="The Radiant Dawn"
        self.Icon="89.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=430
        self.BaseHealth_delta = 87
        self.Health=0
        self.BaseMana=235
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 3.1
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=9
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Shield of Daybreak"
        self.Skill_Q_Icon="89-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Eclipse"
        self.Skill_W_Icon="89-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Zenith Blade"
        self.Skill_E_Icon="89-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Solar Flare"
        self.Skill_R_Icon="89-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Sunlight"
        self.Skill_P_Icon="89-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_117:
    def __init__(self):
        self.ID=117
        self.Name="Lulu"
        self.Title="The Fae Sorceress"
        self.Icon="117.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=44
        self.BaseAttack_Damage_delta=2.6
        self.Attack_Damage=0.0
        self.BaseHealth=415
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=9
        self.BaseArmor_delta = 3.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=5
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Glitterlance"
        self.Skill_Q_Icon="117-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Whimsy"
        self.Skill_W_Icon="117-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Help, Pix!"
        self.Skill_E_Icon="117-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Wild Growth"
        self.Skill_R_Icon="117-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Pix, Faerie Companion"
        self.Skill_P_Icon="117-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_99:
    def __init__(self):
        self.ID=99
        self.Name="Lux"
        self.Title="The Lady of Luminosity"
        self.Icon="99.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=345
        self.BaseHealth_delta = 79
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=8
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=5
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Light Binding"
        self.Skill_Q_Icon="99-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Prismatic Barrier"
        self.Skill_W_Icon="99-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Lucent Singularity"
        self.Skill_E_Icon="99-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Finales Funkeln"
        self.Skill_R_Icon="99-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Illumination"
        self.Skill_P_Icon="99-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_54:
    def __init__(self):
        self.ID=54
        self.Name="Malphite"
        self.Title="Shard of the Monolith"
        self.Icon="54.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.3
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=423
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=215
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 3.75
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.4
        self.BaseMana_Regen_delta = 0.55
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Seismic Shard"
        self.Skill_Q_Icon="54-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Brutal Strikes"
        self.Skill_W_Icon="54-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Ground Slam"
        self.Skill_E_Icon="54-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Unstoppable Force"
        self.Skill_R_Icon="54-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Granite Shield"
        self.Skill_P_Icon="54-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_90:
    def __init__(self):
        self.ID=90
        self.Name="Malzahar"
        self.Title="The Prophet of the Void"
        self.Icon="90.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.66
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Call of the Void"
        self.Skill_Q_Icon="90-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Null Zone"
        self.Skill_W_Icon="90-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Malefic Visions"
        self.Skill_E_Icon="90-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Nether Grasp"
        self.Skill_R_Icon="90-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Summon Voidling"
        self.Skill_P_Icon="90-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_57:
    def __init__(self):
        self.ID=57
        self.Name="Maokai"
        self.Title="The Twisted Treant"
        self.Icon="57.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=58
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=421
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 46
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Arcane Smash"
        self.Skill_Q_Icon="57-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Twisted Advance"
        self.Skill_W_Icon="57-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Sapling Toss"
        self.Skill_E_Icon="57-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Vengeful Maelstrom"
        self.Skill_R_Icon="57-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Sap Magic"
        self.Skill_P_Icon="57-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_11:
    def __init__(self):
        self.ID=11
        self.Name="Master Yi"
        self.Title="The Wuju Bladesman"
        self.Icon="11.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.12
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=444
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=199
        self.BaseMana_delta = 36
        self.Mana=0
        self.BaseMovement_Speed=330
        self.Movement_Speed=0
        self.BaseArmor=16.3
        self.BaseArmor_delta = 3.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.75
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Alpha Strike"
        self.Skill_Q_Icon="11-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Meditate"
        self.Skill_W_Icon="11-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Wuju Style"
        self.Skill_E_Icon="11-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Highlander"
        self.Skill_R_Icon="11-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Double Strike"
        self.Skill_P_Icon="11-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_21:
    def __init__(self):
        self.ID=21
        self.Name="Miss Fortune"
        self.Title="The Bounty Hunter"
        self.Icon="21.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=46.5
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=435
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=212
        self.BaseMana_delta = 38
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.1
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.95
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Double Up"
        self.Skill_Q_Icon="21-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Impure Shots"
        self.Skill_W_Icon="21-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Make It Rain"
        self.Skill_E_Icon="21-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Bullet Time"
        self.Skill_R_Icon="21-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Strut"
        self.Skill_P_Icon="21-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_82:
    def __init__(self):
        self.ID=82
        self.Name="Mordekaiser"
        self.Title="The Master of Metal"
        self.Icon="82.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.7
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=421
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=120
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Mace of Spades"
        self.Skill_Q_Icon="82-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Creeping Death"
        self.Skill_W_Icon="82-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Siphon of Destruction"
        self.Skill_E_Icon="82-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Children of the Grave"
        self.Skill_R_Icon="82-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Iron Man"
        self.Skill_P_Icon="82-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_25:
    def __init__(self):
        self.ID=25
        self.Name="Morgana"
        self.Title="Fallen Angel"
        self.Icon="25.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.58
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=403
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=240
        self.BaseMana_delta = 60
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.7
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.8
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Dark Binding"
        self.Skill_Q_Icon="25-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Tormented Soil"
        self.Skill_W_Icon="25-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Black Shield"
        self.Skill_E_Icon="25-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Soul Shackles"
        self.Skill_R_Icon="25-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Soul Siphon"
        self.Skill_P_Icon="25-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_75:
    def __init__(self):
        self.ID=75
        self.Name="Nasus"
        self.Title="The Curator of the Sands"
        self.Icon="75.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53.3
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=410
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.5
        self.BaseHealth_Regen_delta = 0.9
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.6
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Siphoning Strike"
        self.Skill_Q_Icon="75-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Wither"
        self.Skill_W_Icon="75-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Spirit Fire"
        self.Skill_E_Icon="75-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Fury of the Sands"
        self.Skill_R_Icon="75-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Soul Eater"
        self.Skill_P_Icon="75-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_111:
    def __init__(self):
        self.ID=111
        self.Name="Nautilus"
        self.Title="The Titan of the Depths"
        self.Icon="111.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=52
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=432
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.25
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7.45
        self.BaseMana_Regen_delta = 0.7
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Dredge Line"
        self.Skill_Q_Icon="111-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Titan's Wrath"
        self.Skill_W_Icon="111-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Riptide"
        self.Skill_E_Icon="111-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Depth Charge"
        self.Skill_R_Icon="111-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Staggering Blow"
        self.Skill_P_Icon="111-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_76:
    def __init__(self):
        self.ID=76
        self.Name="Nidalee"
        self.Title="The Bestial Huntress"
        self.Icon="76.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=49
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=370
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=11
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0.75
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Javelin Toss / Takedown"
        self.Skill_Q_Icon="76-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Bushwhack / Pounce"
        self.Skill_W_Icon="76-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Primal Surge / Swipe"
        self.Skill_E_Icon="76-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Aspect Of The Cougar"
        self.Skill_R_Icon="76-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Prowl"
        self.Skill_P_Icon="76-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_56:
    def __init__(self):
        self.ID=56
        self.Name="Nocturne"
        self.Title="The Eternal Nightmare"
        self.Icon="56.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=215
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Duskbringer"
        self.Skill_Q_Icon="56-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Shroud of Darkness"
        self.Skill_W_Icon="56-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Unspeakable Horror"
        self.Skill_E_Icon="56-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Paranoia"
        self.Skill_R_Icon="56-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Umbra Blades"
        self.Skill_P_Icon="56-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_20:
    def __init__(self):
        self.ID=20
        self.Name="Nunu"
        self.Title="The Yeti Rider"
        self.Icon="20.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.06
        self.BaseAttack_Damage_delta=3.45
        self.Attack_Damage=0.0
        self.BaseHealth=437
        self.BaseHealth_delta = 108
        self.Health=0
        self.BaseMana=213
        self.BaseMana_delta = 42
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=16.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.05
        self.BaseHealth_Regen_delta = 0.8
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.6
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Consume"
        self.Skill_Q_Icon="20-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Blood Boil"
        self.Skill_W_Icon="20-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Ice Blast"
        self.Skill_E_Icon="20-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Absolute Zero"
        self.Skill_R_Icon="20-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Visionary"
        self.Skill_P_Icon="20-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_2:
    def __init__(self):
        self.ID=2
        self.Name="Olaf"
        self.Title="The Berserker"
        self.Icon="2.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.1
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=441
        self.BaseHealth_delta = 93
        self.Health=0
        self.BaseMana=225
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.9
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.575
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Undertow"
        self.Skill_Q_Icon="2-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Vicious Strikes"
        self.Skill_W_Icon="2-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Reckless Swing"
        self.Skill_E_Icon="2-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Ragnarok"
        self.Skill_R_Icon="2-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Berserker Rage"
        self.Skill_P_Icon="2-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_61:
    def __init__(self):
        self.ID=61
        self.Name="Orianna"
        self.Title="The Lady of Clockwork"
        self.Icon="61.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=44
        self.BaseAttack_Damage_delta=2.6
        self.Attack_Damage=0.0
        self.BaseHealth=385
        self.BaseHealth_delta = 79
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=8
        self.BaseArmor_delta = 3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.95
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Command: Attack"
        self.Skill_Q_Icon="61-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Command: Dissonance"
        self.Skill_W_Icon="61-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Command: Protect"
        self.Skill_E_Icon="61-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Command: Shockwave"
        self.Skill_R_Icon="61-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Clockwork Windup"
        self.Skill_P_Icon="61-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_80:
    def __init__(self):
        self.ID=80
        self.Name="Pantheon"
        self.Title="The Artisan of War"
        self.Icon="80.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50.7
        self.BaseAttack_Damage_delta=2.9
        self.Attack_Damage=0.0
        self.BaseHealth=433
        self.BaseHealth_delta = 87
        self.Health=0
        self.BaseMana=210
        self.BaseMana_delta = 34
        self.Mana=0
        self.BaseMovement_Speed=330
        self.Movement_Speed=0
        self.BaseArmor=17.1
        self.BaseArmor_delta = 3.9
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.75
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.6
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Spear Shot"
        self.Skill_Q_Icon="80-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Aegis of Zeonia"
        self.Skill_W_Icon="80-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Heartseeker Strike"
        self.Skill_E_Icon="80-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Grand Skyfall"
        self.Skill_R_Icon="80-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Aegis Protection"
        self.Skill_P_Icon="80-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_78:
    def __init__(self):
        self.ID=78
        self.Name="Poppy"
        self.Title="The Iron Ambassador"
        self.Icon="78.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.3
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=423
        self.BaseHealth_delta = 81
        self.Health=0
        self.BaseMana=185
        self.BaseMana_delta = 30
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.4
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Devastating Blow"
        self.Skill_Q_Icon="78-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Paragon of Demacia"
        self.Skill_W_Icon="78-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Heroic Charge"
        self.Skill_E_Icon="78-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Diplomatic Immunity"
        self.Skill_R_Icon="78-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Valiant Fighter"
        self.Skill_P_Icon="78-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()

#class hurga:

    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        NMYMaxHealth=2000.0
        DAMAGE={}
        DAMAGE['physical']=0
        DAMAGE['magical']=0
        DAMAGE['true']=0
        if active:
            bonus=NMYMaxHealth * 0.08
            if bonus > (75*self.Skill_Q_Level):
                bonus=75*self.Skill_Q_Level
            DAMAGE['magical']=self.Attack_Damage + self.Ability_Power*0.6 + 20*self.Skill_Q_MaxStack + bonus
            print "Q:", DAMAGE

    def Skill_W(self,active):
        NMYMaxHealth=2000.0
        DAMAGE={}
        DAMAGE['physical']=0
        DAMAGE['magical']=0
        DAMAGE['true']=0
        if active:
            self.Armor += (1.0 + 0.5*self.Skill_W_Level)*self.Skill_W_MaxStack
            self.Attack_Damage += (1.0 + 0.5*self.Skill_W_Level)*self.Skill_W_MaxSack
            self.Movement_Speed += 15.0 + 2.0*self.Skill_W_Level
        else:
            self.Armor += (1.0 + 0.5*self.Skill_W_Level)*self.Skill_W_MaxStack
            self.Attack_Damage += (1.0 + 0.5*self.Skill_W_Level)*self.Skill_W_MaxStack
        #print DAMAGE

    def Skill_E(self,active):
        NMYMaxHealth=2000.0
        DAMAGE={}
        DAMAGE['physical']=0
        DAMAGE['magical']=0
        DAMAGE['true']=0
        if active:
            DAMAGE['magical'] += 25.0 + 25.0*self.Skill_E_Level + self.Ability_Power*0.4 + 25.0 + 50.0*self.Skill_E_Level + self.Ability_Power*0.4
            print "E:", DAMAGE

    def Skill_R(self,active):
        NMYMaxHealth=2000.0
        DAMAGE={}
        DAMAGE['physical']=0
        DAMAGE['magical']=0
        DAMAGE['true']=0
        if active:
            self.Movement_Speed += 10.0 + 10.0*self.Skill_R_Level

    def Skill_P(self):
        pass
class Champ_33:
    def __init__(self):
        self.ID=33
        self.Name="Rammus"
        self.Title="The Armordillo"
        self.Icon="33.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=420
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=255
        self.BaseMana_delta = 33
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Powerball"
        self.Skill_Q_Icon="33-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Defensive Ball Curl"
        self.Skill_W_Icon="33-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Puncturing Taunt"
        self.Skill_E_Icon="33-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Tremors"
        self.Skill_R_Icon="33-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Spiked Shell"
        self.Skill_P_Icon="33-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_58:
    def __init__(self):
        self.ID=58
        self.Name="Renekton"
        self.Title="The Butcher of the Sands"
        self.Icon="58.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=53.12
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=426
        self.BaseHealth_delta = 87
        self.Health=0
        self.BaseMana=100
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=15.2
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.7
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Cull the Meek"
        self.Skill_Q_Icon="58-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Ruthless Predator"
        self.Skill_W_Icon="58-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Slice and Dice"
        self.Skill_E_Icon="58-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Dominus"
        self.Skill_R_Icon="58-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Reign of Anger"
        self.Skill_P_Icon="58-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_92:
    def __init__(self):
        self.ID=92
        self.Name="Riven"
        self.Title="The Exile"
        self.Icon="92.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54
        self.BaseAttack_Damage_delta=2.75
        self.Attack_Damage=0.0
        self.BaseHealth=414
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=0
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.2
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=9.5
        self.BaseHealth_Regen_delta = 0.9
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Broken Wings"
        self.Skill_Q_Icon="92-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Ki Burst"
        self.Skill_W_Icon="92-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Valor"
        self.Skill_E_Icon="92-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Blade of the Exile"
        self.Skill_R_Icon="92-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Runic Blade"
        self.Skill_P_Icon="92-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_68:
    def __init__(self):
        self.ID=68
        self.Name="Rumble"
        self.Title="The Mechanized Menace"
        self.Icon="68.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.66
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=450
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=100
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=16
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Flamespitter"
        self.Skill_Q_Icon="68-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Scrap Shield"
        self.Skill_W_Icon="68-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Electro Harpoon"
        self.Skill_E_Icon="68-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="The Equalizer"
        self.Skill_R_Icon="68-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Junkyard Titan"
        self.Skill_P_Icon="68-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_13:
    def __init__(self):
        self.ID=13
        self.Name="Ryze"
        self.Title="The Rogue Mage"
        self.Icon="13.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=52
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=360
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 55
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=11
        self.BaseArmor_delta = 3.9
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.35
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Overload"
        self.Skill_Q_Icon="13-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Rune Prison"
        self.Skill_W_Icon="13-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Spell Flux"
        self.Skill_E_Icon="13-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Desperate Power"
        self.Skill_R_Icon="13-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Arcane Mastery"
        self.Skill_P_Icon="13-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_113:
    def __init__(self):
        self.ID=113
        self.Name="Sejuani"
        self.Title="The Winter's Wrath"
        self.Icon="113.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=450
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=17.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Arctic Assault"
        self.Skill_Q_Icon="113-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Northern Winds"
        self.Skill_W_Icon="113-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Permafrost"
        self.Skill_E_Icon="113-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Glacial Prison"
        self.Skill_R_Icon="113-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Frost"
        self.Skill_P_Icon="113-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_35:
    def __init__(self):
        self.ID=35
        self.Name="Shaco"
        self.Title="The Demon Jester"
        self.Icon="35.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.7
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=441
        self.BaseHealth_delta = 84
        self.Health=0
        self.BaseMana=230
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.4
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Deceive"
        self.Skill_Q_Icon="35-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Jack In The Box"
        self.Skill_W_Icon="35-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Two-Shiv Poison"
        self.Skill_E_Icon="35-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Hallucinate"
        self.Skill_R_Icon="35-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Backstab"
        self.Skill_P_Icon="35-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_98:
    def __init__(self):
        self.ID=98
        self.Name="Shen"
        self.Title="Eye of Twilight"
        self.Icon="98.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.5
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=428
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=50
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Vorpal Blade"
        self.Skill_Q_Icon="98-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Feint"
        self.Skill_W_Icon="98-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Shadow Dash"
        self.Skill_E_Icon="98-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Stand United"
        self.Skill_R_Icon="98-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Ki Strike"
        self.Skill_P_Icon="98-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_102:
    def __init__(self):
        self.ID=102
        self.Name="Shyvana"
        self.Title="The Half-Dragon"
        self.Icon="102.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55
        self.BaseAttack_Damage_delta=3.4
        self.Attack_Damage=0.0
        self.BaseHealth=435
        self.BaseHealth_delta = 95
        self.Health=0
        self.BaseMana=100
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 3.35
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.8
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Twin Bite"
        self.Skill_Q_Icon="102-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Burnout"
        self.Skill_W_Icon="102-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Flame Breath"
        self.Skill_E_Icon="102-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Dragon's Descent"
        self.Skill_R_Icon="102-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Fury of the Dragonborn"
        self.Skill_P_Icon="102-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_27:
    def __init__(self):
        self.ID=27
        self.Name="Singed"
        self.Title="The Mad Chemist"
        self.Icon="27.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.65
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=405
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=215
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=18
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.1
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.6
        self.BaseMana_Regen_delta = 0.55
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Poison Trail"
        self.Skill_Q_Icon="27-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Mega Adhesive"
        self.Skill_W_Icon="27-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Fling"
        self.Skill_E_Icon="27-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Insanity Potion"
        self.Skill_R_Icon="27-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Empowered Bulwark"
        self.Skill_P_Icon="27-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_14:
    def __init__(self):
        self.ID=14
        self.Name="Sion"
        self.Title="The Undead Champion"
        self.Icon="14.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=55.52
        self.BaseAttack_Damage_delta=3.1875
        self.Attack_Damage=0.0
        self.BaseHealth=403
        self.BaseHealth_delta = 104
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=17.75
        self.BaseArmor_delta = 3.25
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.9
        self.BaseHealth_Regen_delta = 0.95
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.3
        self.BaseMana_Regen_delta = 0.4
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Cryptic Gaze"
        self.Skill_Q_Icon="14-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Death's Caress"
        self.Skill_W_Icon="14-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Enrage"
        self.Skill_E_Icon="14-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Cannibalism"
        self.Skill_R_Icon="14-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Feel No Pain"
        self.Skill_P_Icon="14-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_15:
    def __init__(self):
        self.ID=15
        self.Name="Sivir"
        self.Title="The Battle Mistress"
        self.Icon="15.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=49
        self.BaseAttack_Damage_delta=2.9
        self.Attack_Damage=0.0
        self.BaseHealth=378
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=203
        self.BaseMana_delta = 43
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=12.75
        self.BaseArmor_delta = 3.25
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.25
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Boomerang Blade"
        self.Skill_Q_Icon="15-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Ricochet"
        self.Skill_W_Icon="15-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Spell Shield"
        self.Skill_E_Icon="15-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="On The Hunt"
        self.Skill_R_Icon="15-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Fleet of Foot"
        self.Skill_P_Icon="15-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_72:
    def __init__(self):
        self.ID=72
        self.Name="Skarner"
        self.Title="The Crystal Vanguard"
        self.Icon="72.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.1
        self.BaseAttack_Damage_delta=4.2
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 96
        self.Health=0
        self.BaseMana=205
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=19
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.5
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Crystal Slash"
        self.Skill_Q_Icon="72-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Crystalline Exoskeleton"
        self.Skill_W_Icon="72-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Fracture"
        self.Skill_E_Icon="72-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Impale"
        self.Skill_R_Icon="72-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Energize"
        self.Skill_P_Icon="72-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_37:
    def __init__(self):
        self.ID=37
        self.Name="Sona"
        self.Title="Maven of the Strings"
        self.Icon="37.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=47
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 70
        self.Health=0
        self.BaseMana=265
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=8
        self.BaseArmor_delta = 3.3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Hymn of Valor"
        self.Skill_Q_Icon="37-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Aria of Perseverance"
        self.Skill_W_Icon="37-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Song of Celerity"
        self.Skill_E_Icon="37-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Crescendo"
        self.Skill_R_Icon="37-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Power Chord"
        self.Skill_P_Icon="37-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_16:
    def __init__(self):
        self.ID=16
        self.Name="Soraka"
        self.Title="The Starchild"
        self.Icon="16.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48.8
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=375
        self.BaseHealth_delta = 71
        self.Health=0
        self.BaseMana=240
        self.BaseMana_delta = 60
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=7.4
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.8
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Starcall"
        self.Skill_Q_Icon="16-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Astral Blessing"
        self.Skill_W_Icon="16-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Infuse"
        self.Skill_E_Icon="16-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Wish"
        self.Skill_R_Icon="16-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Consecration"
        self.Skill_P_Icon="16-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_50:
    def __init__(self):
        self.ID=50
        self.Name="Swain"
        self.Title="The Master Tactician"
        self.Icon="50.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=49
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=385
        self.BaseHealth_delta = 78
        self.Health=0
        self.BaseMana=240
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.75
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.8
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Decrepify"
        self.Skill_Q_Icon="50-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Nevermove"
        self.Skill_W_Icon="50-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Torment"
        self.Skill_E_Icon="50-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Ravenous Flock"
        self.Skill_R_Icon="50-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Carrion Renewal"
        self.Skill_P_Icon="50-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_91:
    def __init__(self):
        self.ID=91
        self.Name="Talon"
        self.Title="The Blade's Shadow"
        self.Icon="91.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=260
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=17
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.25
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.75
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Noxian Diplomacy"
        self.Skill_Q_Icon="91-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Rake"
        self.Skill_W_Icon="91-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Cutthroat"
        self.Skill_E_Icon="91-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Shadow Assault"
        self.Skill_R_Icon="91-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Mercy"
        self.Skill_P_Icon="91-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_44:
    def __init__(self):
        self.ID=44
        self.Name="Taric"
        self.Title="The Gem Knight"
        self.Icon="44.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=58
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=468
        self.BaseHealth_delta = 90
        self.Health=0
        self.BaseMana=255
        self.BaseMana_delta = 56
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=16.5
        self.BaseArmor_delta = 3.2
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.1
        self.BaseHealth_Regen_delta = 0.5
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=4.1
        self.BaseMana_Regen_delta = 0.4
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Imbue"
        self.Skill_Q_Icon="44-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Shatter"
        self.Skill_W_Icon="44-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Dazzle"
        self.Skill_E_Icon="44-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Radiance"
        self.Skill_R_Icon="44-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Gemcraft"
        self.Skill_P_Icon="44-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_17:
    def __init__(self):
        self.ID=17
        self.Name="Teemo"
        self.Title="The Swift Scout"
        self.Icon="17.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=44.5
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=378
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=200
        self.BaseMana_delta = 40
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=14
        self.BaseArmor_delta = 3.75
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.65
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Blinding Dart"
        self.Skill_Q_Icon="17-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Move Quick"
        self.Skill_W_Icon="17-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Toxic Shot"
        self.Skill_E_Icon="17-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Noxious Trap"
        self.Skill_R_Icon="17-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Camouflage"
        self.Skill_P_Icon="17-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_18:
    def __init__(self):
        self.ID=18
        self.Name="Tristana"
        self.Title="The Megling Gunner"
        self.Icon="18.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=46.5
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=415
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=193
        self.BaseMana_delta = 32
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.1
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Rapid Fire"
        self.Skill_Q_Icon="18-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Rocket Jump"
        self.Skill_W_Icon="18-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Explosive Shot"
        self.Skill_E_Icon="18-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Buster Shot"
        self.Skill_R_Icon="18-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Draw a Bead"
        self.Skill_P_Icon="18-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_48:
    def __init__(self):
        self.ID=48
        self.Name="Trundle"
        self.Title="The Cursed Troll"
        self.Icon="48.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.66
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=455
        self.BaseHealth_delta = 96
        self.Health=0
        self.BaseMana=206
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=325
        self.Movement_Speed=0
        self.BaseArmor=19
        self.BaseArmor_delta = 2.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=8
        self.BaseHealth_Regen_delta = 0.85
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Rabid Bite"
        self.Skill_Q_Icon="48-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Contaminate"
        self.Skill_W_Icon="48-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Pillar of Filth"
        self.Skill_E_Icon="48-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Agony"
        self.Skill_R_Icon="48-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Decompose"
        self.Skill_P_Icon="48-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_23:
    def __init__(self):
        self.ID=23
        self.Name="Tryndamere"
        self.Title="The Barbarian King"
        self.Icon="23.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=461
        self.BaseHealth_delta = 98
        self.Health=0
        self.BaseMana=100
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=14.9
        self.BaseArmor_delta = 3.1
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.9
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Bloodlust"
        self.Skill_Q_Icon="23-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Mocking Shout"
        self.Skill_W_Icon="23-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Spinning Slash"
        self.Skill_E_Icon="23-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Undying Rage"
        self.Skill_R_Icon="23-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Battle Fury"
        self.Skill_P_Icon="23-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_4:
    def __init__(self):
        self.ID=4
        self.Name="Twisted Fate"
        self.Title="The Card Master"
        self.Icon="4.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=46.41
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=384
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=202
        self.BaseMana_delta = 38
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=11.25
        self.BaseArmor_delta = 3.15
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Wild Cards"
        self.Skill_Q_Icon="4-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Pick A Card"
        self.Skill_W_Icon="4-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Stacked Deck"
        self.Skill_E_Icon="4-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Destiny"
        self.Skill_R_Icon="4-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Loaded Dice"
        self.Skill_P_Icon="4-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_29:
    def __init__(self):
        self.ID=29
        self.Name="Twitch"
        self.Title="The Plague Rat"
        self.Icon="29.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.56
        self.BaseAttack_Damage_delta=3.15
        self.Attack_Damage=0.0
        self.BaseHealth=356
        self.BaseHealth_delta = 78
        self.Health=0
        self.BaseMana=180
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=14
        self.BaseArmor_delta = 3.3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.1
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.45
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Ambush"
        self.Skill_Q_Icon="29-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Debilitating Poison"
        self.Skill_W_Icon="29-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Expunge"
        self.Skill_E_Icon="29-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Spray and Pray"
        self.Skill_R_Icon="29-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Deadly Venom"
        self.Skill_P_Icon="29-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_77:
    def __init__(self):
        self.ID=77
        self.Name="Udyr"
        self.Title="The Animal Spirit"
        self.Icon="77.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=52.91
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=427
        self.BaseHealth_delta = 99
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 30
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=14.75
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.45
        self.BaseHealth_Regen_delta = 0.75
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.4
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Tiger Stance"
        self.Skill_Q_Icon="77-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Turtle Stance"
        self.Skill_W_Icon="77-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Bear Stance"
        self.Skill_E_Icon="77-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Phoenix Stance"
        self.Skill_R_Icon="77-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Monkey's Agility"
        self.Skill_P_Icon="77-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_6:
    def __init__(self):
        self.ID=6
        self.Name="Urgot"
        self.Title="The Headsman's Pride"
        self.Icon="6.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48
        self.BaseAttack_Damage_delta=3.6
        self.Attack_Damage=0.0
        self.BaseHealth=437
        self.BaseHealth_delta = 89
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 55
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.5
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7.5
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Acid Hunter"
        self.Skill_Q_Icon="6-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Terror Capacitor"
        self.Skill_W_Icon="6-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Noxian Corrosive Charge"
        self.Skill_E_Icon="6-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Hyper-Kinetic Position Reverser"
        self.Skill_R_Icon="6-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Zaun-Touched Bolt Augmenter"
        self.Skill_P_Icon="6-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_110:
    def __init__(self):
        self.ID=110
        self.Name="Varus"
        self.Title="The Arrow of Retribution"
        self.Icon="110.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=46
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=400
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 36
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=13.5
        self.BaseArmor_delta = 3.4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.5
        self.BaseMana_Regen_delta = 0.5
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Piercing Arrow"
        self.Skill_Q_Icon="110-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Blighted Quiver"
        self.Skill_W_Icon="110-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Hail of Arrows"
        self.Skill_E_Icon="110-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Chain of Corruption"
        self.Skill_R_Icon="110-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Living Vengeance"
        self.Skill_P_Icon="110-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_67:
    def __init__(self):
        self.ID=67
        self.Name="Vayne"
        self.Title="The Night Hunter"
        self.Icon="67.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=50
        self.BaseAttack_Damage_delta=3.25
        self.Attack_Damage=0.0
        self.BaseHealth=359
        self.BaseHealth_delta = 83
        self.Health=0
        self.BaseMana=173
        self.BaseMana_delta = 27
        self.Mana=0
        self.BaseMovement_Speed=300
        self.Movement_Speed=0
        self.BaseArmor=9.3
        self.BaseArmor_delta = 3.4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.3
        self.BaseMana_Regen_delta = 0.4
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Tumble"
        self.Skill_Q_Icon="67-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Silver Bolts"
        self.Skill_W_Icon="67-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Condemn"
        self.Skill_E_Icon="67-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Final Hour"
        self.Skill_R_Icon="67-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Night Hunter"
        self.Skill_P_Icon="67-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_45:
    def __init__(self):
        self.ID=45
        self.Name="Veigar"
        self.Title="The Tiny Master of Evil"
        self.Icon="45.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48.3
        self.BaseAttack_Damage_delta=2.625
        self.Attack_Damage=0.0
        self.BaseHealth=355
        self.BaseHealth_delta = 82
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 55
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=12.25
        self.BaseArmor_delta = 3.75
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Baleful Strike"
        self.Skill_Q_Icon="45-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Dark Matter"
        self.Skill_W_Icon="45-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Event Horizon"
        self.Skill_E_Icon="45-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Primordial Burst"
        self.Skill_R_Icon="45-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Equilibrium"
        self.Skill_P_Icon="45-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_112:
    def __init__(self):
        self.ID=112
        self.Name="Viktor"
        self.Title="The Machine Herald"
        self.Icon="112.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=49
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=385
        self.BaseHealth_delta = 78
        self.Health=0
        self.BaseMana=240
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 4
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6.75
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.9
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Power Transfer"
        self.Skill_Q_Icon="112-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Gravity Field"
        self.Skill_W_Icon="112-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Death Ray"
        self.Skill_E_Icon="112-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Chaos Storm"
        self.Skill_R_Icon="112-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Evolving Technology"
        self.Skill_P_Icon="112-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_8:
    def __init__(self):
        self.ID=8
        self.Name="Vladimir"
        self.Title="The Crimson Reaper"
        self.Icon="8.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=45
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=400
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=0
        self.BaseMana_delta = 0
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=6
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=0
        self.BaseMana_Regen_delta = 0
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Transfusion"
        self.Skill_Q_Icon="8-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Sanguine Pool"
        self.Skill_W_Icon="8-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Tides of Blood"
        self.Skill_E_Icon="8-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Hemoplague"
        self.Skill_R_Icon="8-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Crimson Pact"
        self.Skill_P_Icon="8-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_106:
    def __init__(self):
        self.ID=106
        self.Name="Volibear"
        self.Title="The Thunder's Roar"
        self.Icon="106.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54
        self.BaseAttack_Damage_delta=3.3
        self.Attack_Damage=0.0
        self.BaseHealth=440
        self.BaseHealth_delta = 86
        self.Health=0
        self.BaseMana=220
        self.BaseMana_delta = 30
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=16.5
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Rolling Thunder"
        self.Skill_Q_Icon="106-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Frenzy"
        self.Skill_W_Icon="106-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Majestic Roar"
        self.Skill_E_Icon="106-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Thunder Claws"
        self.Skill_R_Icon="106-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Chosen of the Storm"
        self.Skill_P_Icon="106-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_19:
    def __init__(self):
        self.ID=19
        self.Name="Warwick"
        self.Title="The Blood Hunter"
        self.Icon="19.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56.76
        self.BaseAttack_Damage_delta=3.375
        self.Attack_Damage=0.0
        self.BaseHealth=428
        self.BaseHealth_delta = 98
        self.Health=0
        self.BaseMana=190
        self.BaseMana_delta = 30
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=16
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7.05
        self.BaseHealth_Regen_delta = 0.8
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7.1
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Hungering Strike"
        self.Skill_Q_Icon="19-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Hunters Call"
        self.Skill_W_Icon="19-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Blood Scent"
        self.Skill_E_Icon="19-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Infinite Duress"
        self.Skill_R_Icon="19-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Eternal Thirst"
        self.Skill_P_Icon="19-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_62:
    def __init__(self):
        self.ID=62
        self.Name="Wukong"
        self.Title="The Monkey King"
        self.Icon="62.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=54.5
        self.BaseAttack_Damage_delta=3.2
        self.Attack_Damage=0.0
        self.BaseHealth=435
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=202
        self.BaseMana_delta = 38
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.1
        self.BaseHealth_Regen_delta = 0.65
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.95
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Crushing Blow"
        self.Skill_Q_Icon="62-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Decoy"
        self.Skill_W_Icon="62-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Nimbus Strike"
        self.Skill_E_Icon="62-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Cyclone"
        self.Skill_R_Icon="62-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Stone Skin"
        self.Skill_P_Icon="62-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_101:
    def __init__(self):
        self.ID=101
        self.Name="Xerath"
        self.Title="The Magus Ascendant"
        self.Icon="101.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.66
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 45
        self.Mana=0
        self.BaseMovement_Speed=315
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.5
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.5
        self.BaseHealth_Regen_delta = 0.55
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=7
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Arcanopulse"
        self.Skill_Q_Icon="101-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Locus of Power"
        self.Skill_W_Icon="101-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Mage Chains"
        self.Skill_E_Icon="101-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Arcane Barrage"
        self.Skill_R_Icon="101-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Ascended Form"
        self.Skill_P_Icon="101-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_5:
    def __init__(self):
        self.ID=5
        self.Name="Xin Zhao"
        self.Title="The Seneschal of Demacia"
        self.Icon="5.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=56
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=445
        self.BaseHealth_delta = 87
        self.Health=0
        self.BaseMana=213
        self.BaseMana_delta = 31
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=16.2
        self.BaseArmor_delta = 3.7
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.7
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.6
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Three Talon Strike"
        self.Skill_Q_Icon="5-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Battle Cry"
        self.Skill_W_Icon="5-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Audacious Charge"
        self.Skill_E_Icon="5-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Crescent Sweep"
        self.Skill_R_Icon="5-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Tireless Warrior"
        self.Skill_P_Icon="5-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_83:
    def __init__(self):
        self.ID=83
        self.Name="Yorick"
        self.Title="The Gravedigger"
        self.Icon="83.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51.7
        self.BaseAttack_Damage_delta=3.5
        self.Attack_Damage=0.0
        self.BaseHealth=421
        self.BaseHealth_delta = 85
        self.Health=0
        self.BaseMana=235
        self.BaseMana_delta = 35
        self.Mana=0
        self.BaseMovement_Speed=320
        self.Movement_Speed=0
        self.BaseArmor=15
        self.BaseArmor_delta = 3.6
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 1.25
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=7
        self.BaseHealth_Regen_delta = 0.7
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6
        self.BaseMana_Regen_delta = 0.45
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Omen of War"
        self.Skill_Q_Icon="83-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Omen of Pestilence"
        self.Skill_W_Icon="83-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Omen of Famine"
        self.Skill_E_Icon="83-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Omen of Death"
        self.Skill_R_Icon="83-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Unholy Covenant"
        self.Skill_P_Icon="83-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_115:
    def __init__(self):
        self.ID=115
        self.Name="Ziggs"
        self.Title="The Hexplosives Expert"
        self.Icon="115.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=51
        self.BaseAttack_Damage_delta=3.1
        self.Attack_Damage=0.0
        self.BaseHealth=390
        self.BaseHealth_delta = 80
        self.Health=0
        self.BaseMana=250
        self.BaseMana_delta = 50
        self.Mana=0
        self.BaseMovement_Speed=305
        self.Movement_Speed=0
        self.BaseArmor=12
        self.BaseArmor_delta = 3.3
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=5.25
        self.BaseHealth_Regen_delta = 0.6
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.75
        self.BaseMana_Regen_delta = 0.6
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Bouncing Bomb"
        self.Skill_Q_Icon="115-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Satchel Charge"
        self.Skill_W_Icon="115-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Hexplosive Minefield"
        self.Skill_E_Icon="115-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Mega Inferno Bomb"
        self.Skill_R_Icon="115-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Short Fuse"
        self.Skill_P_Icon="115-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass

class Champ_26:
    def __init__(self):
        self.ID=26
        self.Name="Zilean"
        self.Title="The Chronokeeper"
        self.Icon="26.jpg"
        self.Level=1
        self.Build={'1':False,'2':False,'3':False,'4':False,'5':False}
        self.BaseAttack_Damage=48.6
        self.BaseAttack_Damage_delta=3
        self.Attack_Damage=0.0
        self.BaseHealth=380
        self.BaseHealth_delta = 71
        self.Health=0
        self.BaseMana=260
        self.BaseMana_delta = 60
        self.Mana=0
        self.BaseMovement_Speed=310
        self.Movement_Speed=0
        self.BaseArmor=6.75
        self.BaseArmor_delta = 3.8
        self.Armor=0
        self.BaseMagic_Resist=30
        self.BaseMagic_Resist_delta = 0
        self.Magic_Resist=0
        self.BaseHealth_Regen_per_5_seconds=4.6
        self.BaseHealth_Regen_delta = 0.5
        self.Health_Regen=0
        self.BaseMana_Regen_per_5_seconds=6.95
        self.BaseMana_Regen_delta = 0.65
        self.Mana_Regen=0
        self.BaseAbility_Power=0
        self.Ability_Power=0
        self.BaseSpell_Vamp=0
        self.Spell_Vamp=0
        self.BaseAttack_Speed=0
        self.Attack_Speed=0
        self.BaseLife_Steal=0
        self.Life_Steal=0
        self.BaseCooldown_Reduction=0
        self.Cooldown_Reduction=0
        self.BaseCritical_Strike_Chance=0
        self.Critical_Strike_Chance=0
        self.BaseMagic_Penetration=0
        self.Magic_Penetration=0
        self.BaseArmor_Penetration=0
        self.Armor_Penetration=0
        # Percentage Bonuses
        self.Movement_Speed_Percentage=0
        self.Attack_Damage_Percentage=0
        self.Damage_Percentage=0
        self.Mana_Percentage=0
        self.Ability_Power_Percentage=0
        self.Power_Percentage=0
        self.Health_Percentage=0
        self.Tenacity=False
        
        # Skills
        self.Skill_Q_Name="Time Bomb"
        self.Skill_Q_Icon="26-1.jpg"
        self.Skill_Q_MaxStack=False
        self.Skill_Q_Stack=0
        self.Skill_Q_Level=False
        self.Skill_Q_has_Passive=False
        self.Skill_Q_Cooldown=[]
        self.Skill_Q_Cost=[]
        self.Skill_Q_Priority=[]
        self.Skill_W_Name="Rewind"
        self.Skill_W_Icon="26-2.jpg"
        self.Skill_W_MaxStack=False
        self.Skill_W_Stack=0
        self.Skill_W_Level=False
        self.Skill_W_has_Passive=False
        self.Skill_W_Cooldown=[]
        self.Skill_W_Cost=[]
        self.Skill_W_Priority=[]
        self.Skill_E_Name="Time Warp"
        self.Skill_E_Icon="26-3.jpg"
        self.Skill_E_MaxStack=False
        self.Skill_E_Stack=0
        self.Skill_E_Level=False
        self.Skill_E_has_Passive=False
        self.Skill_E_Cooldown=[]
        self.Skill_E_Cost=[]
        self.Skill_E_Priority=[]
        self.Skill_R_Name="Chronoshift"
        self.Skill_R_Icon="26-4.jpg"
        self.Skill_R_MaxStack=False
        self.Skill_R_Stack=0
        self.Skill_R_Level=False
        self.Skill_R_has_Passive=False
        self.Skill_R_Cooldown=[]
        self.Skill_R_Cost=[]
        self.Skill_R_Priority=[]
        self.Skill_P_Name="Heightened Learning"
        self.Skill_P_Icon="26-5.jpg"
        self.Skill_P_MaxStack=False
        self.Skill_P_Stack=0
        self.Skill_P_Level=False
        self.Skill_P_has_Passive=False
        self.Skill_P_Cooldown=[]
        self.Skill_P_Cost=[]
        self.Skill_P_Priority=[]
        self.Custom()
        self.CalcStats()

    def ResetStats(self):
        self.Custom()
        self.Attack_Damage=self.BaseAttack_Damage + self.BaseAttack_Damage_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Mana=self.BaseMana + self.BaseMana_delta * self.Level
        self.Health=self.BaseHealth + self.BaseHealth_delta * self.Level
        self.Movement_Speed=self.BaseMovement_Speed
        self.Armor=self.BaseArmor + self.BaseArmor_delta * self.Level
        self.Magic_Resist=self.BaseMagic_Resist + self.BaseMagic_Resist_delta * self.Level
        self.Health_Regen_per_5_seconds=self.BaseHealth_Regen_per_5_seconds + self.BaseHealth_Regen_delta * self.Level
        self.Mana_Regen_per_5_seconds=self.BaseMana_Regen_per_5_seconds + self.BaseMana_Regen_delta * self.Level
        self.Ability_Power=0
        self.Spell_Vamp=0
        self.Attack_Speed=0
        self.Life_steal=0
        self.Cooldown_Reduction=0
        self.Armor_Penetration=0
        self.Critical_Strike_Chance=0
        self.Magic_Penetration=0

    def SetChampLevel(self,level):
        self.Level=level
        self.CalcStats()
        
    def DumpStats(self):
        print "Attack_Damage ", self.Attack_Damage
        print "Health ", self.Health
        print "Mana ", self.Mana
        print "Movement_Speed " ,self.Movement_Speed
        print "Armor ", self.Armor
        print "Magic_Resist ", self.Magic_Resist
        print "Health_Regen ", self.Health_Regen_per_5_seconds
        print "Mana_Regen ", self.Mana_Regen_per_5_seconds
        print "Ability_Power ", self.Ability_Power
        print "Spell_Vamp ", self.Spell_Vamp
        print "Attack_Speed ", self.Attack_Speed
        print "Life_Steal ", self.Life_steal
        print "Cooldown_Reduction ", self.Cooldown_Reduction
        print "Armor_Penetration ", self.Armor_Penetration
        print "Magic_Penetration ", self.Magic_Penetration
        print "Critical_Strike_Chance ", self.Critical_Strike_Chance
        
    
    def CalcStats(self):
        # Reset stats
        self.ResetStats()
        # Add Runes
        #self.ProcessRunes()
        # Add Masteries
        #self.ProcessMasteries()
        self.CustomCalcStats()
        # loop through skills passives
        self.Skill_Q(False)
        self.Skill_W(False)
        self.Skill_E(False)
        self.Skill_R(False)
        self.Skill_P()
        # loop through items
        for item in self.Build.itervalues():
            if item:
                item.UpdateStats()

    def AddItem(self,pos,itemid):
        self.Build[pos]=ITEMS.GetItem(itemid)
        self.Build[pos].parent=self
        self.CalcStats()

    def DelItem(self,pos):
        self.Build[pos]=False
        self.Calcstats()


    def Custom(self):
        pass

    def CustomCalcStats(self):
        pass

    def Skill_Q(self,active):
        pass
        
    def Skill_W(self,active):
        pass
        
    def Skill_E(self,active):
        pass
        
    def Skill_R(self,active):
        pass

    def Skill_P(self):
        pass


class Champs():
    def __init__(self,parent):
        self.parent=parent
        self.CHAMPS={}
        self.InitChamps()
        self.ChampIndex=['103','84','12','32','34','1','22','53','63','51','69','31','42','122','36','119','28','81','9','114','105','3','41','86','79','104','120','74','39','40','59','24','43','30','38','55','10','85','96','7','64','89','117','99','54','90','57','11','21','82','25','75','111','76','56','20','2','61','80','78','33','58','92','68','13','113','35','98','102','27','14','15','72','37','16','50','91','44','17','18','48','23','4','29','77','6','110','67','45','112','8','106','19','62','101','5','83','115','26']
        self.CreateLists()

    def InitChamps(self):
        self.CHAMPS['103']=Champ_103()
        self.CHAMPS['84']=Champ_84()
        self.CHAMPS['12']=Champ_12()
        self.CHAMPS['32']=Champ_32()
        self.CHAMPS['34']=Champ_34()
        self.CHAMPS['1']=Champ_1()
        self.CHAMPS['22']=Champ_22()
        self.CHAMPS['53']=Champ_53()
        self.CHAMPS['63']=Champ_63()
        self.CHAMPS['51']=Champ_51()
        self.CHAMPS['69']=Champ_69()
        self.CHAMPS['31']=Champ_31()
        self.CHAMPS['42']=Champ_42()
        self.CHAMPS['122']=Champ_122()
        self.CHAMPS['36']=Champ_36()
        self.CHAMPS['119']=Champ_119()
        self.CHAMPS['28']=Champ_28()
        self.CHAMPS['81']=Champ_81()
        self.CHAMPS['9']=Champ_9()
        self.CHAMPS['114']=Champ_114()
        self.CHAMPS['105']=Champ_105()
        self.CHAMPS['3']=Champ_3()
        self.CHAMPS['41']=Champ_41()
        self.CHAMPS['86']=Champ_86()
        self.CHAMPS['79']=Champ_79()
        self.CHAMPS['104']=Champ_104()
        self.CHAMPS['120']=Champ_120()
        self.CHAMPS['74']=Champ_74()
        self.CHAMPS['39']=Champ_39()
        self.CHAMPS['40']=Champ_40()
        self.CHAMPS['59']=Champ_59()
        self.CHAMPS['24']=Champ_24()
        self.CHAMPS['43']=Champ_43()
        self.CHAMPS['30']=Champ_30()
        self.CHAMPS['38']=Champ_38()
        self.CHAMPS['55']=Champ_55()
        self.CHAMPS['10']=Champ_10()
        self.CHAMPS['85']=Champ_85()
        self.CHAMPS['96']=Champ_96()
        self.CHAMPS['7']=Champ_7()
        self.CHAMPS['64']=Champ_64()
        self.CHAMPS['89']=Champ_89()
        self.CHAMPS['117']=Champ_117()
        self.CHAMPS['99']=Champ_99()
        self.CHAMPS['54']=Champ_54()
        self.CHAMPS['90']=Champ_90()
        self.CHAMPS['57']=Champ_57()
        self.CHAMPS['11']=Champ_11()
        self.CHAMPS['21']=Champ_21()
        self.CHAMPS['82']=Champ_82()
        self.CHAMPS['25']=Champ_25()
        self.CHAMPS['75']=Champ_75()
        self.CHAMPS['111']=Champ_111()
        self.CHAMPS['76']=Champ_76()
        self.CHAMPS['56']=Champ_56()
        self.CHAMPS['20']=Champ_20()
        self.CHAMPS['2']=Champ_2()
        self.CHAMPS['61']=Champ_61()
        self.CHAMPS['80']=Champ_80()
        self.CHAMPS['78']=Champ_78()
        self.CHAMPS['33']=Champ_33()
        self.CHAMPS['58']=Champ_58()
        self.CHAMPS['92']=Champ_92()
        self.CHAMPS['68']=Champ_68()
        self.CHAMPS['13']=Champ_13()
        self.CHAMPS['113']=Champ_113()
        self.CHAMPS['35']=Champ_35()
        self.CHAMPS['98']=Champ_98()
        self.CHAMPS['102']=Champ_102()
        self.CHAMPS['27']=Champ_27()
        self.CHAMPS['14']=Champ_14()
        self.CHAMPS['15']=Champ_15()
        self.CHAMPS['72']=Champ_72()
        self.CHAMPS['37']=Champ_37()
        self.CHAMPS['16']=Champ_16()
        self.CHAMPS['50']=Champ_50()
        self.CHAMPS['91']=Champ_91()
        self.CHAMPS['44']=Champ_44()
        self.CHAMPS['17']=Champ_17()
        self.CHAMPS['18']=Champ_18()
        self.CHAMPS['48']=Champ_48()
        self.CHAMPS['23']=Champ_23()
        self.CHAMPS['4']=Champ_4()
        self.CHAMPS['29']=Champ_29()
        self.CHAMPS['77']=Champ_77()
        self.CHAMPS['6']=Champ_6()
        self.CHAMPS['110']=Champ_110()
        self.CHAMPS['67']=Champ_67()
        self.CHAMPS['45']=Champ_45()
        self.CHAMPS['112']=Champ_112()
        self.CHAMPS['8']=Champ_8()
        self.CHAMPS['106']=Champ_106()
        self.CHAMPS['19']=Champ_19()
        self.CHAMPS['62']=Champ_62()
        self.CHAMPS['101']=Champ_101()
        self.CHAMPS['5']=Champ_5()
        self.CHAMPS['83']=Champ_83()
        self.CHAMPS['115']=Champ_115()
        self.CHAMPS['26']=Champ_26()

        def GetChamp(self,champid):
            return self.CHAMPS[champid]

        def CreateLists(self):
            self.ChampList=[]
            self.ChampName2ID={}
            for ChampID in self.ChampIndex:
                self.ChampList.append(self.CHAMPS[ChampID].Name)
                self.ChampName2ID[self.CHAMPS[ChampID].Name]=ChampID

        def GetChampList(self):
            return sorted(self.ChampList)

        def GetChampID(self,name):
            return str(self.ChampName2ID[str(name)])
                

